Librairies et jeu de donnƩes

library(rmarkdown)
library(tidyverse) # pour  %>%
library( kableExtra) # kbl
library(knitr) # kable
library(ggplot2)
library(plotly) # graphes dynamiques
library(MASS)
library(corrplot) # corrplot
library(GGally) # ggpairs
library(gridExtra) # co-plot pour ggplot

TƩlƩcharger le jeu de donnƩes EPO modifiƩ et nommer le mydata.

mydata=read.csv2("mydata2.csv",sep=',',row.names = 1)
paged_table(mydata)

Transformer la nature des variables nƩcessaires.

mydata$sexe<-as.factor(mydata$sexe)  
mydata$taille<-as.numeric(mydata$taille)   
mydata$Score<-as.factor(mydata$Score) 
mydata$niveau<-ordered(mydata$niveau,levels=c("L1_2","L3","M1_2"))
 str(mydata)
## 'data.frame':    38 obs. of  6 variables:
##  $ sexe             : Factor w/ 2 levels "F","H": 1 1 1 1 1 1 1 1 1 1 ...
##  $ age              : int  22 20 25 34 20 19 18 21 21 21 ...
##  $ taille           : num  1.7 1.66 1.65 1.62 1.66 1.64 1.61 1.63 1.63 1.65 ...
##  $ niveau           : Ord.factor w/ 3 levels "L1_2"<"L3"<"M1_2": 2 2 3 3 2 1 2 2 2 2 ...
##  $ scoreConnaissance: int  3 3 1 3 2 1 1 2 3 3 ...
##  $ Score            : Factor w/ 3 levels "=3","inf Ć  3",..: 1 1 2 1 2 2 2 2 1 1 ...

Pour allƩger les Ʃcritures, procƩdons Ơ des copies de nos variables

sexe<-mydata$sexe
age<-mydata$age
taille<-mydata$taille
niveau<-mydata$niveau
Score<-mydata$Score
scoreNum<-mydata$scoreConnaissance

Task 1

Afficher le tableau de la distribution empirique jointe des variables (sexe,Score).

 kable(prop.table(table(sexe,Score)))
=3 inf Ć  3 sup Ć  3
F 0.2631579 0.2631579 0.0789474
H 0.1315789 0.1052632 0.1578947

Afficher le tableau des distributions empiriques marginales des variables sexe et Score.

prop.table(table(sexe))%>% kbl()
sexe Freq
F 0.6052632
H 0.3947368
prop.table(table(Score))%>% kbl()
Score Freq
=3 0.3947368
inf Ć  3 0.3684211
sup Ć  3 0.2368421

Afficher le tableau des profils colonnes et des profils lignes pour les variables sexe et Score.

prop.table(table(sexe,Score), margin = 2)%>% kbl()
=3 inf Ć  3 sup Ć  3
F 0.6666667 0.7142857 0.3333333
H 0.3333333 0.2857143 0.6666667
prop.table(table(sexe,Score), margin = 1)%>% kbl()
=3 inf Ć  3 sup Ć  3
F 0.4347826 0.4347826 0.1304348
H 0.3333333 0.2666667 0.4000000

Task 2

Afficher la moyenne de la variable quantitative taille en fonction des modalitƩs des facteurs Score et niveau.

tapply(taille,list(Score=Score,Niveau=niveau),mean)%>% kbl()
L1_2 L3 M1_2
=3 1.676667 1.681818 1.62
inf Ć  3 1.640000 1.663636 1.65
sup Ć  3 1.850000 1.671667 1.71

Task 3

Existe-t-il un lien entre les variables qualitatives Score et niveau? Faire un test.

fisher.test(Score,niveau)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  Score and niveau
## p-value = 0.8311
## alternative hypothesis: two.sided

Grande \(p\)-value, non rejet d’\(H_0\) donc pas de lien.

Existe-t-il un lien entre la variable quantitative age et la variable qualitative sexe? Faire un test.

wilcox.test(age~sexe)
## Warning in wilcox.test.default(x = DATA[[1L]], y = DATA[[2L]], ...): cannot
## compute exact p-value with ties
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  age by sexe
## W = 106.5, p-value = 0.04496
## alternative hypothesis: true location shift is not equal to 0

Petite \(p\)-value, rejet d’\(H_0\) donc lien.

Existe-t-il un lien entre la variable quantitative age et la variable qualitative Score? Faire un test.

kruskal.test(age~Score)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  age by Score
## Kruskal-Wallis chi-squared = 1.1904, df = 2, p-value = 0.5515

Grande \(p\)-value, non rejet d’\(H_0\) donc pas de lien.

Existe-t-il un lien entre la variable quantitative age et la variable qualitative scoreNum? Faire un test.

cor.test(age,scoreNum,method="spearman")
## Warning in cor.test.default(age, scoreNum, method = "spearman"): Cannot compute
## exact p-value with ties
## 
##  Spearman's rank correlation rho
## 
## data:  age and scoreNum
## S = 7952.9, p-value = 0.4374
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.1297848

Grande \(p\)-value, non rejet d’\(H_0\) donc pas de lien.

Task 4

Comparer les variables qualitatives niveau et Score Ć  l’aide d’un diagramme en barres.

library(plotly)
plot_ly( x =Score, color = niveau) %>%
  add_histogram()

Task 5

Afficher les boxplots de la variable age suivant les modalitƩs de la variable Score.

library(plotly)
plot_ly(y = age, color = Score,type = 'box') %>%
  layout(yaxis = list(title = 'Taille'))

Comparer l’age moyen des participants suivant leur niveau via une reprĆ©sentation graphique.

plot_ly(y = tapply(age,niveau,mean),x=levels(niveau), type = 'bar',marker = list(color =c( "cyan","blue","purple"))) %>%
  layout(xaxis = list(title = 'Taille'),yaxis = list(title = 'Ecart type'))

Task 6

Dessiner le nuage de points (age,scoreConnaissance).Afficher la droite des moindres carrƩes.

ggplot(mydata)+ aes(x = age, y =scoreConnaissance)+ geom_point(col='red', size = 0.5)+ geom_smooth(method = "lm",se = FALSE)

Dessiner les 3 nuages de points (age,scoreConnaissance) par modalitƩs de la variable niveau. Afficher les 3 droites des moindres carrƩes.

ggplot(mydata)+ aes(x = age, y =scoreConnaissance,color=niveau)+ geom_point(col='red', size = 0.5)+ geom_smooth(method = "lm",se = FALSE)